Software programs operating on a host system often interact with other software, firmware, or hardware components executing on the same host system. The software programs may be divided on the operating environment (hardware and/or software) of the host system based on levels of privilege. The software programs are traditionally protected only by the privileged levels associated with executing code. Each different level of privilege allows software executing within that level to perform a certain set of operations. Programs executing within a given privilege level typically have access to some or all of the resources used by other programs executing in that privilege level and/or lower privilege levels. Thus, there is no protection of software programs within privilege levels on the platform, making the software programs vulnerable to compromise if another software program of the same privilege level becomes compromised.